home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / emulate / spectrum.lzh / SPECTRUM.TXT < prev   
Text File  |  1987-04-22  |  20KB  |  384 lines

  1.                          ZX-SPECTRUM Emulator V1.0
  2.                          =========================
  3.  
  4. 1. Einleitung
  5. -------------
  6. Wozu  ein ZX-Spectrum Emulator? - Nun, wer diesen Computer höchstens dem Namen
  7. nach  kennt,  kann  obige  Frage berechtigt  stellen.  Der  mindestens  ebenso
  8. erfolgreiche  Nachfolger des legendären ZX-81 ist ein 8-Bit Rechner mit 48  kB
  9. Hauptspeicher,  256  x 192 Pixel Grafikschirm in 16 Farben (max. 2 Farben  pro
  10. Zeichenposition)  und  Pieps-Sound.  Hoffnungslos   veraltet  also  für  einen
  11. verwöhnten ST-User.
  12. Wer  aber, wie der Autor, seinerzeit seine ersten Programmierfrustrationen  am
  13. ZX-81  erlebte,  und  dann hoffnungsvoll auf den ZX-SPECTRUM  wechselte,  wird
  14. dieses  Gerät  für  immer wohlwollend im  Gedächtnis  behalten.  Umfangreiches
  15. Basic,  nahezu  unerschöpflicher  Speicher (für  ZX-81  Verhältnisse),  üppige
  16. Farbenpracht  und  sogar  die Möglichkeit Töne zu erzeugen.  Binnen  kürzester
  17. Zeit  brach  eine  Softwareflut über diesen Rechner herein,  weil  er  äußerst
  18. einfach  und komfortabel zu programmieren war. Etliche der heute am  ST-Sektor
  19. bekannten  Software-Firmen  haben  sich  damals am  Spectrum  erste  Lorbeeren
  20. geholt.  Kurzum:  Er ist es schon wert, in Erinnerung behalten zu werden,  der
  21. alte  "Specci" und der Autor hofft durch die Übertragung auf den Atari ST noch
  22. lange  ab und zu einen Blick auf ihn werfen zu können. (Sollte ja  schließlich
  23. auch  am  TT und vielleicht auch noch am SF - so müßte der Nachfolger  des  TT
  24. logischerweise  heißen - noch funktionsfähig sein). Und mag sein, daß es  noch
  25. ein  paar  Leutchen gibt, die ähnlich empfinden... Ihnen ist  dieser  Emulator
  26. gewidmet!
  27.  
  28. Der  Autor  möchte  an dieser Stelle ganz besonders Christoph  Zwerschke,  dem
  29. Verfasser  des  superben ZX-81-Emulators für den ST, seinen Dank  aussprechen.
  30. Erst  angesichts  dieser  Demonstration der  prinzipiellen  Machbarkeit  eines
  31. ZX-Emulators  war  meine  Motivation wieder einmal groß genug,  um  die  schon
  32. jahrelang  angesammelten  Pläne endlich in die Tat umzusetzen. Gerne gebe  ich
  33. auch zu, im Werke meines Vorbildes mich ein wenig belehrt zu haben. Nach einem
  34. halben  Jahr zäher Optimierungen und Ringen um jeden Taktzyklus, immer  wieder
  35. unterbrochen  von grausamen Abstürzen und wunderlichen Effekten am  Bildschirm
  36. kann an der Eigenständigkeit dieses Programmierepos nicht gezweifelt werden.
  37.  
  38. Ein  riesiges Danke auch an meine Frau (die nun endlich aufatmen kann) für ihr
  39. Verständnis und die seelische Unterstützung in dieser Zeit.
  40.  
  41. 2. Leistung der Emulation
  42. -------------------------
  43. Der  ZX-SPECTRUM  wird erstaunlich vollständig emuliert. Der einzige  wirklich
  44. erwähnenswerte  Unterschied  zum  Original   ist,   daß  das  Hardware-Blinken
  45. (FLASH),  das  der  Spectrum  als Video-Attribut  zur  Verfügung  stellt,  aus
  46. Geschwindigkeitsgründen  (vielleicht  am  TT  dann)  nicht  unterstützt  wird.
  47. Stattdessen  werden  Zeichen  mit dem FLASH-Attribut  invers  dargestellt.  Am
  48. deutlichsten  zu merken beim Cursor im ZX-Basic, der am Original blinkt,  beim
  49. Emulator aber bloß invertiert ist. Damit läßt sich leben.
  50.  
  51. Ansonsten kann aber mit folgenden Features aufgewartet werden:
  52.  
  53. -  Die zugrundeliegende Emulation des Z80-Prozessors unterstützt sämtliche
  54.    Opcodes, auch die Operationen mit den Indexregister-Hälften und andere
  55.    'nichtoffizielle' Z80-Befehle, und die vollständige Interruptlogik des
  56.    Z80 (Interrupt-Mode 2 wird in vielen Programmen am Spectrum verwendet).
  57.  
  58. -  Die Video-Emulation stellt alle 16 Farben des Spectrum (8 Farbtöne in
  59.    jeweils zwei Intensitäten) sowohl am Farbmonitor, als auch am monochromen
  60.    Monitor (in Graustufen) dar.
  61.  
  62. -  Die I/O-Operationen für Tastatur, Lautsprecher und BORDER-Farbe (Farbe
  63.    des Bildschirmrandes) werden originalgetreu umgesetzt. Ein am
  64.    Joystick-Port des ST angeschlossener Joystick wird als KEMPSTON- und
  65.    IF2-kompatibler Joystick (zwei Standards am Spectrum) emuliert.
  66.  
  67. -  Das Kassetten-Handling des Spectrum wird vollständig auf Disk umgelenkt.
  68.    Bei Angabe eines Dateinamens beim Laden (LOAD "name"), und beim Speichern
  69.    (SAVE "name") ist dieser Vorgang transparent. Das Laden des erstbesten
  70.    Programmes vom Band via LOAD "", ist natürlich für Disks sinnlos - es
  71.    erscheint ein Fileselektor, aus welchem eines der vorhandenen Programme
  72.    ausgewählt werden kann.
  73.  
  74. 3. Start des Emulators
  75. ----------------------
  76. Es  werden  die  Dateien  SPECCI.PRG   und   SPECCI.DAT  in  einem  beliebigen
  77. Verzeichnis  auf  Diskette  oder   Festplatte   benötigt.   Nach  Starten  von
  78. SPECCI.PRG  erscheint ein Titelschirm während die Datei SPECCI.DAT nachgeladen
  79. wird  und die Initialisierung des Emulators durchgeführt wird. Dies dauert ein
  80. wenig,  weil  umfangreiche  Tabellen im Speicher angelegt werden.  Es  sollten
  81. auch  mindestens  ca. 800 kB Speicher frei sein, also auf ST's mit 512 kB  Ram
  82. oder  1040ern mit zuvielen installierten Accessories läuft die Emulation nicht
  83. (es erscheint eine Alertbox).
  84. Geschrieben  und  getestet  wurde  der Emulator auf einem 1040 STF  mit  1  Mb
  85. Speicher  und TOS 1.0. Er sollte aber zumindest am ST unter jeder  TOS-Version
  86. laufen  und  sich  auch   mit   Festplatten   vertragen.  Solange  bloß  genug
  87. Hauptspeicher vorhanden ist...
  88.  
  89. Falls der Emulator am Farbmonitor verwendet wird, bitte zuerst in die niedrige
  90. Auflösung  schalten  (ansonsten erscheint eine Alertbox). In  der  monochromen
  91. Auflösung werden die Farben durch Graustufen ersetzt.
  92.  
  93. Nach  geglückter  Initilisierung  beginnt  der  normale  Spectrum-Bootvorgang,
  94. gefolgt  von  der  Einschaltmeldung: der ST ist jetzt  ein  nahezu  originaler
  95. ZX-SPECTRUM.   (Bis auf die Geschwindigkeit allerdings, I did my best... am TT
  96. sollte die Emulation ca. so schnell wie das Original sein - mal sehen).
  97.  
  98. 4. Bedienung des Emulators
  99. --------------------------
  100. Die  Belegung  der  Spectrum-Tastatur wurde so getreu wie möglich auf  den  ST
  101. Übertragen.  Folgende  Tabelle zeigt die Belegung der Spectrum-Tasten, die  am
  102. ST entweder nicht als solche existieren oder anders belegt sind:
  103.  
  104. ZX-SPECTRUM     entspricht am ST        Bemerkung
  105. -----------------------------------------------------------------------
  106. Symbol-Shift    Alternate oder          Umschalt-Taste am Spectrum
  107.                 rechte Shift-Taste
  108. Caps-Shift      Linke Shift-Taste       temporäre Umschaltung Groß/Klein
  109. Z               Y                       Weil Spectrum englische Tastatur hat,
  110. Y               Z                       wurde dies auch am ST beibehalten
  111.  
  112. Zwecks Komfort wurden einige oft verwendeten ZX-Shift-Kombinationen auf
  113. eine der sonst unbenutzten ST-Tasten gelegt, wie aus nachstehender Tabelle
  114. hervorgeht:
  115.  
  116. ST-Taste        entspricht am ZX-SPECTRUM     Bemerkung
  117. -----------------------------------------------------------------------
  118. Control         Caps-Shift+Symbol-Shift       EXTENDED-MODE
  119. F1              Caps-Shift+1                  EDIT
  120. F2,CapsLock     Caps-Shift+2                  CAPS LOCK
  121. F3,Tab          Caps-Shift+3                  TRUE VIDEO
  122. F4,Esc          Caps-Shift+4                  INVERSE VIDEO
  123. Cursor links    Caps-Shift+5                  Cursor nach links
  124. Cursor runter   Caps-Shift+6                  Cursor nach unten
  125. Cursor rauf     Caps-Shift+7                  Cursor nach oben
  126. Cursor rechts   Caps-Shift+8                  Cursor nach rechts
  127. F9              Caps-Shift+9                  GRAPHICS-MODE
  128. Delete,BS       Caps-Shift+0                  DELETE
  129. F10             Caps-Shift+Space              BREAK (Programmabbruch)
  130. <               Symbol-Shift+O                ; (Strichpunkt)
  131. ~               Symbol-Shift+P                " (Hochkomma)
  132. ß               Symbol-Shift+C                ? (Fragezeichen)
  133. ö               Symbol-Shift+L                = (Ist gleich)
  134. ä               Symbol-Shift+Z                : (Doppelpunkt)
  135. ü               Symbol-Shift+2                @ (Absatz)
  136.  
  137.  
  138. Emulator-Steuertasten:
  139.  
  140. ST-Taste        Wirkung             Bemerkung
  141. -----------------------------------------------------------------------
  142. F6              Reset               Entspricht Reset-Kno